package cn.iocoder.yudao.module.pay.refund.vo;

import cn.idev.excel.annotation.ExcelProperty;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import cn.iocoder.yudao.framework.excel.core.convert.MoneyConvert;
import lombok.Data;

import java.time.LocalDateTime;

import static cn.iocoder.yudao.module.api.pay.DictTypeConstants.REFUND_STATUS;

/**
 * 退款订单 Excel VO
 *
 * @author aquan
 */
@Data
public class PayRefundExcelRespVO {

    @ExcelProperty("支付退款编号")
    private Long id;

    @ExcelProperty("统一退款单号")
    private String no;

    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @ExcelProperty("商户支付单号")
    private String tradeNo;

    @ExcelProperty("商户退款单号")
    private String refundNo;

    @ExcelProperty(value = "支付金额", converter = MoneyConvert.class)
    private Integer payPrice;

    @ExcelProperty(value = "退款金额", converter = MoneyConvert.class)
    private Integer refundPrice;

    @ExcelProperty("渠道退款单号")
    private String channelRefundNo;

    @ExcelProperty("渠道支付单号")
    private String channelOrderNo;

    @ExcelProperty(value = "退款状态", converter = DictConvert.class)
    @DictFormat(REFUND_STATUS)
    private Integer status;

    @ExcelProperty(value = "退款渠道")
    private String channelCode;

    @ExcelProperty("成功时间")
    private LocalDateTime successTime;

    @ExcelProperty("退款原因")
    private String reason;

}
